package model;

import java.util.Date;

/**
 * Datenmodell für verschiedene Wetterinformationen
 * 
 * @author Sebastian Althof <get@itnuts.de>
 * @version 1.0.0
 * 
 */
public class WeatherModel {

	/**
	 * ID der Stadt z.B EDDS
	 */
	private String cityID;
	
	/**
	 * Allgemeiner Platzhalter f�r Zusatzinfos z.B. Namen der Wetterstation
	 */
	private String info;

	/**
	 * Temperatur in Celsius
	 */
	private double temperature;

	/**
	 * 29010KT = Windrichtung bezogen auf rechtweisend Nord (290�, also WNW) und
	 * Windgeschwindigkeit (10 kn)
	 */
	private String windDirectionInfo;

	/**
	 * Winddaten Objekt
	 */
	private WindModel wind;

	/**
	 * 081620Z = Beobachtungszeitpunkt (08. des Monats, um 16:20 UTC also 17:20
	 * MEZ bzw. 18:20 MESZ)
	 */
	private String observationTime;

	/**
	 * Zeitpunkt des Auslesens als vollständiges Datum
	 * in String repräsentation
	 * YYYY-MM-DD HH:MM:SS
	 */
	private String date;
	
	
	/**
	 * Zeitpunkt des auslesen als Unix Timestamp in Millisekunden
	 */
	private long timeStamp;

	/**
	 * Sichtweite am Boden in m
	 */
	private int visibility;

	/**
	 * Luftdruck nach der Standardatmosphäre reduziert auf Meeresh�he in
	 * Hektopascal
	 */
	private double airPressure;

	/**
	 * FEW040TCU = Bewölkung: Stärke (FEW = 1 bis 2 Achtel), Höhe der
	 * Wolkenuntergrenze (4.000 Fuß über Grund) und Art der Bewölkung (TCU =
	 * towering cumulus)
	 */
	private String cloudiness;

	public String getInfo() {
		return info;
	}

	public String getCityID() {
		return cityID;
	}

	public void setCityID(String cityID) {
		this.cityID = cityID;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	public double getTemperature() {
		return temperature;
	}

	public void setTemperature(double temperature) {
		this.temperature = temperature;
	}

	public String getWindDirectionInfo() {
		return windDirectionInfo;
	}

	public void setWindDirectionInfo(String windDirectionInfo) {
		this.windDirectionInfo = windDirectionInfo;
	}

	public WindModel getWind() {
		return wind;
	}

	public void setWind(WindModel wind) {
		this.wind = wind;
	}

	public String getObservationTime() {
		return observationTime;
	}

	public void setObservationTime(String observationTime) {
		this.observationTime = observationTime;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public long getTimeStamp() {
		return timeStamp;
	}

	public void setTimeStamp(long timeStamp) {
		this.timeStamp = timeStamp;
	}

	public int getVisibility() {
		return visibility;
	}

	public void setVisibility(int visibility) {
		this.visibility = visibility;
	}

	public double getAirPressure() {
		return airPressure;
	}

	public void setAirPressure(double airPressure) {
		this.airPressure = airPressure;
	}

	public String getCloudiness() {
		return cloudiness;
	}

	public void setCloudiness(String cloudiness) {
		this.cloudiness = cloudiness;
	}
}
